// #include<iostream>
// #include<string>
// #include<exception>
//
// using namespace std;
//
// //了解下标准库异常类
// //重写exception类的方法 自定义异常类 继承exception类 重写what方法
// //自定义异常类
// class ArrayEmpty:public exception
// {
// public:
//     // ArrayEmpty() : runtime_error("数组不能为空") { //重写方案
//     // }
//     ArrayEmpty(){}
//
//     char const* what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_NOTHROW { //重写what方法
//         return "Array is empty";
//     }
//
// };
//
//
// bool array_empty(int* arr) {
//     if (arr == nullptr) {
//         throw ArrayEmpty{};
//     }
//     return *arr == 0;
// }
//
// int main() {
//
//     try {
//         array_empty(nullptr);
//     }catch (const std::exception& object) {
//         //c++多态 父类调用子类对象初始化 调用子类方法
//       cout << object.what() << endl;
//     }
//
//     return 0;
// }